var BASE_URL = 'http://jinzhidata.com/v2'

//读取cookie
function getCookie(name) {
    var arr, reg = new RegExp("(^| )" + name + "=([^;]*)(;|$)");
    if (arr = document.cookie.match(reg)) {
        return unescape(arr[2]);
    }
    return null;
}

function charge(accessToken) {
    var num = prompt("请输入充值金额（1元=10积分）")
    if (!$.isNumeric(num)) {
        alert("请输入数字！");
        return
    }
    num = parseFloat(num)
    $.ajax({
        type: 'get',
        url: BASE_URL + "/wallet/charge?amount=" + num,
        async: false,
        headers: {
            accessToken: accessToken
        },
        success: function (result) {
            if (result.code === 0) {
                wx.config({
                    debug: false,////生产环境需要关闭debug模式
                    appId: result.data.config.appid,//appId通过微信服务号后台查看
                    timestamp: result.data.config.timestamp,//生成签名的时间戳
                    nonceStr: result.data.config.nonceStr,//生成签名的随机字符串
                    signature: result.data.config.signature,//签名
                    jsApiList: [//需要调用的JS接口列表
                        'chooseWXPay'
                    ]
                });
                wx.ready(function () {
                    wx.chooseWXPay({
                        timestamp: result.data.payment.timeStamp, // 支付签名时间戳，注意微信jssdk中的所有使用timestamp字段均为小写。但最新版的支付后台生成签名使用的timeStamp字段名需大写其中的S字符
                        nonceStr: result.data.payment.nonceStr, // 支付签名随机串，不长于 32 位
                        package: result.data.payment._package, // 统一支付接口返回的prepay_id参数值，提交格式如：prepay_id=\*\*\*）
                        signType: result.data.payment.signType, // 签名方式，默认为'SHA1'，使用新版支付需传入'MD5'
                        paySign: result.data.payment.paySign, // 支付签名
                        success: function (res) {
                            alert("积分充值成功")
                            location.href = BASE_URL + "/user_wallet.html";
                        },
                        error: function (xhr, status, error) {
                            console.log(xhr);
                            console.log(status);
                            console.log(error);
                        }
                    });
                    wx.error(function (res) {
                        console.log(res.errMsg);
                    });
                });
            } else if (result.code === 1001) {
                alert("您还没有登录！")
                location.href = BASE_URL + "/user.html"
            } else {
                alert(result.msg)
            }
        }
    });
}

$(function () {
    var url = window.location.href
    // 如果带accessToken参数，则使用此token充值
    var accessTokenMatch = new RegExp(BASE_URL + "/user_wallet\\.html\\?accessToken=(.*)").exec(url)
    if (accessTokenMatch != null) {
        charge(accessTokenMatch[1])
    }
    if (getCookie("accessToken")) {
        $.ajax({
            type: "get",
            url: BASE_URL + "/getUserInfo",
            contentType: 'application/json',
            dataType: "json",
            success: function (response) {
                if (response.code === 0) {
                    var data = response.data
                    $("#userPoints").html(data.userPoints)
                    $("#userAvatar").attr("src", data.userAvatar);
                }
            }
        })
    }

    $("#charge").click(function () {
        charge()
    });

    $("#withdraw").click(function () {
        var num = prompt("请输入提现金额（1元=10积分）")
        if (!$.isNumeric(num)) {
            alert("请输入数字！");
            return
        }
        num = parseFloat(num)
        $.ajax({
            type: 'get',
            url: BASE_URL + "/wallet/withdraw?amount=" + num,
            async: false,
            success: function (result) {
                if (result.code === 0) {
                    alert("提现成功")
                } else if (result.code === 1001) {
                    alert("您还没有登录！")
                    location.href = BASE_URL + "/user.html"
                } else {
                    alert(result.msg)
                }
            }
        });
    });
})
